 jQuery(document).ready(function($) {
      var $ = jQuery;
      $("#title").focus();

            var listCategoryId = new Array();  
            listCategoryIdEdit = $("#post_category").val();
            
            if(listCategoryIdEdit !==null && listCategoryIdEdit !==""){
                listCategoryIdEdit =eval('(' + listCategoryIdEdit + ')');
                //listCategoryIdEdit =JSON.parse(listCategoryIdEdit);
                for(var i=0;i<listCategoryIdEdit.length;i++){ 
                    $("#post_category_"+ listCategoryIdEdit[i]).addClass("selected");
                    listCategoryId.push(listCategoryIdEdit[i]);
                }
            }
           
          //handle event click category
          jQuery(".post_category").each(function(){
            $(this).click(function(){
                var id= $(this).attr("id");
                id=id.replace("post_category_","");
                if($(this).hasClass("selected")){
                    $(this).removeClass("selected");
                    index  = listCategoryId.indexOf(id);
                    listCategoryId.splice(index, 1);//remove a element out of array
                }else{
                    $(this).addClass("selected");
                    listCategoryId.push(id);
                }

                 $("#post_category").val(listCategoryId);
             });

        });


          //ajax insert new category 
          $("#category_insert_new").keypress(function(e){
            var code = (e.keyCode ? e.keyCode : e.which);
            var content = $("#category_insert_new").val();
                if(code == 13 && content!="") { //Enter keycode
                    if(!Utils.isString(content)){
                        $("#category_insert_new").val("");
                        $("#category_insert_new").attr("placeholder","Tên danh mục phải là chữ số");
                        return false;
                    }

                    $.ajax({
                        url: controlerLink,
                        dataType: "json",
                        type: "POST",
                        data: {
                            action: "insert_category",
                            value: content
                        },success: function( data ) {
                            if(data.rs == 0){
                                var newCategoryElement ='<li><a href="javascript:void(0)">' +content+ '<input type="hidden" value="'+ data.category_id+'"></a></li>';
                                $("#insert_new_category").before(newCategoryElement);
                                
                                $("#category_insert_new").val("");
                                return;
                            }else{
                                $("#category_insert_new").val("");
                                $("#category_insert_new").attr("placeholder","Tên danh mục này đã tồn tại");
                                return;
                            }                
                        }

                    });
            }
            });

        $("#deletePost").click(function(){
            bootbox.dialog("Bạn có muốn xóa bài viết này?",
                [ {
                    "label" : "Đồng ý",
                    "class" : "btn-danger",
                    "callback": function() {
                        //prepate data and call ajax
                         $.ajax({
                            url: controlerLink,
                            // url: "<?php echo get_template_directory_uri() . "/functions.php" ?>",
                            type: "GET",
                            dataType: "json",
                            data: {
                                action: "delete_post",
                                post_id: $("#post_id").val()
                            },
                            success: function( data ) {
                               if(data.rs == 0){
                               }else{
                                window.location.href ="<?php echo  $blog_link;?>";
                               }
                            }
                        });





                    }
                }, {
                    "label" : "Không xóa",
                    "class" : "btn"
                    //"callback": function() {}
                }]

                ); 
        });

         //set event remove tag in case edit post
         setEventRemoveTags();
         $( "#itags" ).autocomplete({
            source: function( request, response ) {
                $.ajax({
                 url: controllerLink,
                    // url: "<?php echo get_template_directory_uri() . "/functions.php" ?>",
                    dataType: "json",
                    data: {
                        action: "suggestion_tag",
                        key: $( "#itags" ).val()
                    },
                    success: function( data ) {
                        response( $.map( data, function( item ) {
                            return {
                                label: item,
                                value: item
                            }
                        }));
                    }
                });
            },
            minLength: 1,
            select: function( event, ui ) {
                //add element
                var value = ui.item.value;
                var isDuplicate = checkDuplicatteListTags(value);
                if(!isDuplicate){
                    addElement(value);
                }                        
                $( this ).removeClass( "ui-corner-top" ).addClass( "ui-corner-all" );

            },
            open: function() {
                //                $("#itags").keydown(function(e){
                //                    if(e.keyCode == 13){
                //                        $( this ).removeClass( "ui-corner-top" ).addClass( "ui-corner-all" );
                //                    }
                //                });

},
close: function() {
    $( this ).removeClass( "ui-corner-top" ).addClass( "ui-corner-all" );
}
}).keyup(function (e) {
    if(e.which === 13) {
        $(".ui-autocomplete").hide();
    }            
});

function setEventRemoveTags(){
    $(".ntdelbutton").each(function(){
        $(this).click(function(){
            var element =  $(this).parent();
            element.hide(500, function(){
                element.remove();
            });
        });

    });
}

function addElement(value){
    var content = "<span class='spanchecktags'><a class='ntdelbutton'>X</a><span class='valueTag'>" + value + "</span></span>";
    $("#listTags").append(content);
    setEventRemoveTags();
}

$("#itags").keydown(function(e){
    if(e.keyCode == 13){
        var value = $("#itags").val();
        if(value != null && value != "" ){
            var isDuplicate = checkDuplicatteListTags(value);
            if(!isDuplicate)
                addElement(value);
            $("#itags").val("");
            $("#itags").removeClass( "ui-corner-top" ).addClass( "ui-corner-all" );
        }
    }

});

var placeholderContent = "Nhập nội dung mà bạn muốn chia sẻ cho mọi người :)";
$("#btnSubmitNewPost").click(function(){    
    var content = get_tinymce_content();
    var checking = false;
    if($("#title").val() =="" && content =="")   {
      $("#title").focus();
      $("#title").attr("placeholder", "Vui lòng nhập tiêu đề bài viết của bạn");
      return false;
  } 
  if($("#title").val() == "" && content !="")   {
    $("#title").focus();
    $("#title").attr("placeholder", "Vui lòng nhập tiêu đề bài viết của bạn");
    return false;
}
var contentTextOnly = $(content).text();
if($(content).has('a').length == 0)
{
    if(contentTextOnly.length < 300)   {
        tinyMCE.activeEditor.focus();
        tinyMCE.activeEditor.setContent(placeholderContent);

        checking = true;
        setTimeout(function(){
            tinyMCE.activeEditor.setContent(content);
            checking = false;
        },3000);
        return false;
    }
}

var tags = "";
$(".valueTag").each(function(){
    tags += $.trim($(this).text()) + ",";
});
$("#iTagsList").val(tags);
!checking && $("#frmPost").submit();
});

function get_tinymce_content(){
    if (jQuery("#wp-content-wrap").hasClass("tmce-active")){
        return tinyMCE.activeEditor.getContent();
    }else{
        return "";
    }
}

function checkDuplicatteListTags(value){
    var isDuplicate = false;
    $(".valueTag").each(function(){
        var valueCompare = $(this).text();
        if(valueCompare == value){
                    isDuplicate = true; //shit, co roi
                }
            });
    return isDuplicate;
}
});
